package com.zifan.yygh.listener;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.zifan.yygh.dao.DictMapper;
import com.zifan.yygh.model.cmn.Dict;
import com.zifan.yygh.vo.cmn.DictEeVo;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;

/**
 * 数据字段excel导入回调监听器
 * @author Zifan
 * @date 2021年09月25日15:15
 */
@AllArgsConstructor
@Slf4j
public class DictListener extends AnalysisEventListener<DictEeVo> {

    //这个监听器官方不建议交给spring进行关系，所以需要操作数据库的时候建议使用构造函数传递过来
    private DictMapper dictMapper;

    /**
     * 从第二行开始读取，没读取一行调用一次
     * @param dictEeVo
     * @param analysisContext
     */
    @Override
    public void invoke(DictEeVo dictEeVo, AnalysisContext analysisContext) {
        Dict dict = new Dict();
        BeanUtils.copyProperties(dictEeVo,dict);
        dictMapper.insert(dict);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        log.info("读取结束！");
    }
}
